#include "base.h"
#include <stdio.h>

void led_task(void) {
    static uint32_t last_tick = 0;
    if (millis() - last_tick >= 500) {  // 每 500ms 切换一次
        led_toggle(LED0);
        last_tick = millis();
    }
}

void uart_task(void) {
    if (uart_available()) {
        char c = uart_read();
        uart_write(c);  // 回显，或者进行某种处理
    }
}

void key_task (void) {
    if (key_pressed()) {
        led_set(LED1, 1);
    } else {
        led_set(LED1, 0);
    }
}

int main(void) {
    hardware_init();

    while (1) {
        led_task();     // 检查是否到闪烁时间，到就执行一次
        uart_task();    // 检查是否有数据到达，有就处理
        key_task();     // 检查是否有按键按下，有就响应
    }
}